<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<title>类的基本使用</title>
</head>
<body>
  <script type="text/javascript">
	// 创建一个Person类
	class Person {
		// 构造器方法
		constructor(name,age) {
			this.name = name   // 构造器中的this指向类的实例对象
			this.age = age
		}
		// 类中可以直接写赋值语句
		a=1
		say(){
			// 一般方法  放在类的原型对象上__proto__供实例使用
			// 通过Person实例调用方法时，方法中的this就是Person实例
			console.log(`我叫${this.name},我今年${this.age}岁`);
		}
	}
	const p1 = new Person('tom',15)	
	const p2 = new Person('jerry',16)	
	console.log(p1);	
	console.log(p2);	
	p1.say()
	p2.say()
	// 创建一个Son类，继承于Person
	class Student extends Person{
		constructor(name,age,grade) {
			// 继承过来的构造器函数中必须调用super
			super(name,age)
			this.grade = grade
		}
		sing(){

		}
		say(){
			// 重写从父类继承过来的方法
			console.log(`我叫${this.name},我今年${this.age}岁,我现在
			读${this.grade}`);
		}
	}
	const s1 = new Student('duck','2','幼儿园')
	console.log(s1);
	s1.say()
	</script>
</body>
</html>